package com.songshuai.webapi.permission.dao;

import com.songshuai.webapi.permission.dto.request.FunctionListReqDto;
import com.songshuai.webapi.permission.model.YxFunctions;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface YxFunctionsMapper {

    //超级管理员，根据appId查询功能列表
    List<YxFunctions> queryLoginAdminFuncList(@Param("appId")Integer appId);

    //根据登录用户id,appId查询功能列表
    List<YxFunctions> queryLoginFunctionList(@Param("userId")Integer userId,@Param("appId")Integer appId);

    //分页查询功能
    List<YxFunctions> queryFunctionListByPage(FunctionListReqDto parmDto);

    //通过key获取功能
    YxFunctions queryFunctionByKey(@Param("functionKey")String functionKey);

    //获取当前YX_FUNCTIONS最大功能function_id
    int getMaxFuncId();

    //新增功能
    int addFunction(YxFunctions entity);

    //修改功能
    int updateFunction(YxFunctions entity);

    //删除功能
    int deleteFunction(@Param("functionId")Integer functionId);

    //根据功能id删除功能角色菜单关联
    int deleteFuncRoleNavRelation(@Param("functionId")Integer functionId);

    //根据菜单id删除菜单角色功能关联
    int deleteNavRoleFuncRelation(@Param("navigationId")Integer navigationId);

    YxFunctions queryFunctionByFuncId(Integer functionId);

}
